﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыРасходовУСН
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"05ee1a76-e990-4c59-8d1f-3526e25048f4\", \"Представление\":\"НеСписано\"}")]
		НеСписано = 0,//Не списано
		[EnumMember(Value = "{\"Ссылка\":\"6f98cf9e-6bcf-4829-b26a-cb9c76579f82\", \"Представление\":\"НеОплачено\"}")]
		НеОплачено = 1,//Не оплачено
		[EnumMember(Value = "{\"Ссылка\":\"734d572f-9ff0-4a32-b9e3-7cde6e70c393\", \"Представление\":\"НеРаспределено\"}")]
		НеРаспределено = 2,//Не распределено
		[EnumMember(Value = "{\"Ссылка\":\"7cfe3ce2-6864-4b4a-ac66-1f8c2f96b1f4\", \"Представление\":\"НеВыпущено\"}")]
		НеВыпущено = 3,//Не выпущено
		[EnumMember(Value = "{\"Ссылка\":\"230260b3-361a-44cf-9b90-1da53bd599c6\", \"Представление\":\"НеСписаноНеОплачено\"}")]
		НеСписаноНеОплачено = 4,//Не списано, не оплачено
		[EnumMember(Value = "{\"Ссылка\":\"c1ac1bab-61d5-41a3-a304-f8c795f19912\", \"Представление\":\"НеОплаченоПокупателем\"}")]
		НеОплаченоПокупателем = 5,//Не оплачено покупателем
		[EnumMember(Value = "{\"Ссылка\":\"6459292a-0f6d-4e99-ba38-170b050aff16\", \"Представление\":\"НеОплаченоНеОплаченоПокупателем\"}")]
		НеОплаченоНеОплаченоПокупателем = 6,//Не оплачено, не оплачено покупателем
		[EnumMember(Value = "{\"Ссылка\":\"c003bc69-24e1-4bc8-b9fb-4ace56c91792\", \"Представление\":\"НеВыпущеноНеОплачено\"}")]
		НеВыпущеноНеОплачено = 7,//Не выпущено не оплачено
		[EnumMember(Value = "{\"Ссылка\":\"4a9e448d-1d1a-4bab-8f9d-be8bb39e51e3\", \"Представление\":\"НеСписаноПринято\"}")]
		НеСписаноПринято = 8,//Не списано, принято
		[EnumMember(Value = "{\"Ссылка\":\"d0f64e57-5269-48b4-8ffc-007492f303fc\", \"Представление\":\"НеСписаноНеРаспределено\"}")]
		НеСписаноНеРаспределено = 9,//Не списано, не распределено
	}
	public static partial class СтатусыРасходовУСН_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid НеСписано = new Guid("26351f8d-50e2-f448-4c59-e99005ee1a76");//Не списано
		public static readonly Guid НеОплачено = new Guid("9ccb6ab2-5776-829f-4829-6bcf6f98cf9e");//Не оплачено
		public static readonly Guid НеРаспределено = new Guid("de7ce3b9-706e-93c3-4a32-9ff0734d572f");//Не распределено
		public static readonly Guid НеВыпущено = new Guid("8c1f66ac-962f-f4b1-4b4a-68647cfe3ce2");//Не выпущено
		public static readonly Guid НеСписаноНеОплачено = new Guid("a51d909b-d53b-c699-44cf-361a230260b3");//Не списано, не оплачено
		public static readonly Guid НеОплаченоПокупателем = new Guid("c7f804a3-f195-1299-41a3-61d5c1ac1bab");//Не оплачено покупателем
		public static readonly Guid НеОплаченоНеОплаченоПокупателем = new Guid("0b1738ba-0a05-16ff-4e99-0f6d6459292a");//Не оплачено, не оплачено покупателем
		public static readonly Guid НеВыпущеноНеОплачено = new Guid("ce4afbb9-c956-9217-4bc8-24e1c003bc69");//Не выпущено не оплачено
		public static readonly Guid НеСписаноПринято = new Guid("8bbe9d8f-9eb3-e351-4bab-1d1a4a9e448d");//Не списано, принято
		public static readonly Guid НеСписаноНеРаспределено = new Guid("7400fc8f-f392-fc03-48b4-5269d0f64e57");//Не списано, не распределено
		public static СтатусыРасходовУСН Получить(this СтатусыРасходовУСН Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыРасходовУСН Получить(this СтатусыРасходовУСН Значение, Guid Ссылка)
		{
			if(Ссылка == НеСписано)
			{
				return СтатусыРасходовУСН.НеСписано;
			}
			else if(Ссылка == НеОплачено)
			{
				return СтатусыРасходовУСН.НеОплачено;
			}
			else if(Ссылка == НеРаспределено)
			{
				return СтатусыРасходовУСН.НеРаспределено;
			}
			else if(Ссылка == НеВыпущено)
			{
				return СтатусыРасходовУСН.НеВыпущено;
			}
			else if(Ссылка == НеСписаноНеОплачено)
			{
				return СтатусыРасходовУСН.НеСписаноНеОплачено;
			}
			else if(Ссылка == НеОплаченоПокупателем)
			{
				return СтатусыРасходовУСН.НеОплаченоПокупателем;
			}
			else if(Ссылка == НеОплаченоНеОплаченоПокупателем)
			{
				return СтатусыРасходовУСН.НеОплаченоНеОплаченоПокупателем;
			}
			else if(Ссылка == НеВыпущеноНеОплачено)
			{
				return СтатусыРасходовУСН.НеВыпущеноНеОплачено;
			}
			else if(Ссылка == НеСписаноПринято)
			{
				return СтатусыРасходовУСН.НеСписаноПринято;
			}
			else if(Ссылка == НеСписаноНеРаспределено)
			{
				return СтатусыРасходовУСН.НеСписаноНеРаспределено;
			}
			return СтатусыРасходовУСН.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыРасходовУСН Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыРасходовУСН Значение)
		{
			switch (Значение)
			{
				case СтатусыРасходовУСН.НеСписано: return НеСписано;
				case СтатусыРасходовУСН.НеОплачено: return НеОплачено;
				case СтатусыРасходовУСН.НеРаспределено: return НеРаспределено;
				case СтатусыРасходовУСН.НеВыпущено: return НеВыпущено;
				case СтатусыРасходовУСН.НеСписаноНеОплачено: return НеСписаноНеОплачено;
				case СтатусыРасходовУСН.НеОплаченоПокупателем: return НеОплаченоПокупателем;
				case СтатусыРасходовУСН.НеОплаченоНеОплаченоПокупателем: return НеОплаченоНеОплаченоПокупателем;
				case СтатусыРасходовУСН.НеВыпущеноНеОплачено: return НеВыпущеноНеОплачено;
				case СтатусыРасходовУСН.НеСписаноПринято: return НеСписаноПринято;
				case СтатусыРасходовУСН.НеСписаноНеРаспределено: return НеСписаноНеРаспределено;
			}
			return Guid.Empty;
		}
	}
}